With data transmissions, data packets can be lost or corrupted in transmissions requiring retransmission of the lost or corrupted data packets. Although in most instances the lost or corrupted data packets can be retransmitted, substantial amounts of time are required to recognize the error, request retransmission, and then hopefully to receive the lost or corrupted data packets.
Forward error correction was introduced to address the additional time required for the recognition, request, and retransmission of lost or corrupted packets. With forward error correction, the sender sends redundant data spread across multiple packets so that the receiver only needs to receive a portion of the originally transmitted packets to reconstruct the data transmission.
With this technique, a number of original data packets and a number of error correction packets are set by an operator. The particular setting can involve a range of a large number of error correction packets to original data packets which carries a low loss rate, but high transmission overhead to a low number of error correction packets which carries a high loss rate, but low transmission rate. Unfortunately, neither end of this range is a desirable long term solution.